package com.pactera.dao.common;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.pactera.common.database.JdbcTemplateHandler;

/**
 * 动态数据源数据接口
 * @ClassName：DataSourceDao
 * @Description：动态数据源数据接口
 * @author pactera 
 * @date 2018年12月21日 上午9:53:09 
 * @version 1.0.0
 */
@Repository
public class DataSourceDao {

	@Autowired
	private JdbcTemplateHandler jdbcTemplateHandler;
	
	private static Logger logger = LogManager.getLogger(DataSourceDao.class);

	/**
	 * 查询所有用户数据
	 * @Title: getUserList 
	 * @Description: 查询所有用户数据
	 * @return List<Map<String,Object>>
	 * @author pactera
	 * @date 2018年12月21日 上午9:49:59
	 */
	public List<Map<String,Object>> getUserList() {
		
		StringBuilder sql = new StringBuilder();
		sql.append("select * from tb_sys_user");
		
		logger.info(sql);
		
		List<Map<String,Object>> userList = new ArrayList<Map<String,Object>>();
		try {
			userList = jdbcTemplateHandler.queryForMapList(sql.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return userList;
	}
	
	/**
	 * 查询所有角色数据
	 * @Title: getRoleList 
	 * @Description:查询所有角色数据
	 * @return List<Map<String,Object>>
	 * @author pactera
	 * @date 2018年12月21日 上午9:50:57
	 */
	public List<Map<String,Object>> getRoleList() {
		StringBuilder sql = new StringBuilder();
		sql.append("select * from tb_sys_role");
		
		logger.info(sql);
		
		List<Map<String,Object>> roleList = new ArrayList<Map<String,Object>>();
		try {
			roleList = jdbcTemplateHandler.queryForMapList(sql.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return roleList;
	}
	
	/**
	 * 查询sqlserver库中用户数据
	 * @Title: getMyUserList 
	 * @Description: 查询sqlserver库中用户数据
	 * @return List<Map<String,Object>>
	 * @author pactera
	 * @date 2018年12月21日 上午9:51:37
	 */
	public List<Map<String,Object>> getMyUserList() {
		StringBuilder sql = new StringBuilder();
		sql.append(" SELECT Top 10 UserGUID, UserCode, UserName ,BUGUID");
		sql.append(" From myUser");
		
		logger.info(sql);
		
		List<Map<String,Object>> myUserList = new ArrayList<Map<String,Object>>();
		try {
			myUserList = jdbcTemplateHandler.queryForMapList(sql.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return myUserList;
	}
}
